.m-article-content {
  word-wrap: break-word;
  line-height: map-get($base, line-height-large);
  @include block-elements() {
    margin: map-get($base, vertical-space-large) 0;
  }
  @include heading-elements() {
    position: relative;
    margin-top: map-get($base, vertical-space-large) * 1.5;
    & > .anchor {
      @include link-text-colors($border-color, $main-color-1, $main-color-1);
      margin-left: .2rem;
      visibility: hidden;
      text-decoration: none;
      opacity: 0;
      & > svg {
        width: map-get($base, font-size);
        height: map-get($base, font-size);
        margin-bottom: - .2 * map-get($base, font-size);
      }
    }
    &:hover {
      & > .anchor {
        visibility: visible;
        opacity: 1;
        cursor: pointer;
      }
    }
  }
  h1,
  h2 {
    @include split-line(bottom);
  }
  hr {
    border: none;
    &::before {
      content: '...';
      font-size: map-get($base, font-size-h3);
      color: $text-color-l;
      display: block;
      letter-spacing: .8em;
      text-align: center;
    }
  }
  blockquote {
    padding-left: 1rem;
    @include split-line(left, 4px, $border-color);
    font-size: map-get($base, font-size-sub);
    color: $text-color-l;
    p {
      margin: map-get($base, vertical-space) 0;
    }
    &>:last-child {
      margin-bottom: 0;
    }
  }
  img:not(.emoji) {
    max-width: 100%;
    vertical-align: middle;
  }
  .emoji {
    display: inline-block;
    vertical-align: text-bottom;
    width: map-get($base, line-height-large) * .7rem;
    height: map-get($base, line-height-large) * .7rem;
  }
  .footnotes {
    @include split-line();
    margin-top: map-get($base, vertical-space-large) * 2;
  }
  code {
    @include round-rect(default, .2rem .5rem);
    background-color: $text-background-color;
    span {
      padding: 0;
      margin: 0;
    }
  }
  pre {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    &>code {
      padding: 0;
      background-color: transparent;
      word-wrap: normal;
      &.language-mermaid, &.language-chart {
        display: none;
        &[data-processed] {
          display: block;
        }
      }
    }
  }
  .highlighter-rouge>.highlight, figure.highlight {
    &>pre {
      @include round-rect(default, 1rem 0 1rem 1rem);
      margin: 0;
      background-color: $text-background-color;
      &>code {
        display: block;
      }
    }
  }
  figure.highlight {
    &:before {
      content: attr(data-lang);
      display: block;
      border-top-left-radius: map-get($shape, round-rect-radius);
      border-top-right-radius: map-get($shape, round-rect-radius);
      padding: .5rem 1rem .5rem 0;
      color: $decorate-color;
      background-color: $text-background-color;
      font-weight: map-get($base, font-weight-bold);
      text-align: right;
      text-transform: uppercase;
    }
    &>pre {
      padding-top: 0;
      border-top-left-radius: 0;
      border-top-right-radius: 0;
      &>code {
        &>.rouge-table {
          width: auto;
          margin: 0 0 -1rem -1rem;
          tbody, tr, td {
            border: none;
            padding-top: 0;
            padding-bottom: 0;
          }
          &>tbody {
            @include flexbox;
            &>tr {
              width: 100%;
              @include flexbox;
              &>.code {
                padding: 0 0 1rem .5rem;
                overflow: auto;
                -webkit-overflow-scrolling: touch;
              }
            }
          }
          tbody td {
            &.gl {
              padding-left: 1rem;
            }
            &>pre {
              @include round-rect(0);
              display: block;
              overflow: visible;
              margin: 0;
              &.lineno {
                color: $text-color-l;
                @include user-select(none);
              }
            }
          }
        }
      }
    }
  }
  ul, ol {
    margin-left: 1.5rem;
    ul, ol {
      margin-top: 0;
      margin-bottom: 0;
    }
    li {
      margin: 0;
      p {
        margin: 0;
      }
    }
  }
  dl {
    dt, dd {
      margin: 0;
      p {
        margin: 0;
      }
    }
    dt {
      font-weight: map-get($base, font-weight-bold);
    }
    dd {
      margin-left: 2rem;
    }
  }
  table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-collapse: collapse;
    thead, tfoot {
      background-color: $text-background-color;
    }
    th, td {
      border: 1px solid $border-color-l;
      padding: .5rem;
    }
    th {
      font-weight: map-get($base, font-weight-bold);
    }
  }
}
